package org.example.test.test;

import java.util.ArrayList;

public class Valid {

    public static void main(String[] args) {

    }

    public static boolean isValid(String s) {
        ArrayList<String> arr = new ArrayList<>();
        for (int i = 0; i < s.length(); i++) {
            String si = String.valueOf(s.charAt(i));
            if (si.equals("(") || si.equals("[") || si.equals("{")) {
                arr.add(si);
            } else {
                if (arr.size() == 0){
                    return false;
                }
                if (si.equals(")")) {
                    if (arr.get(arr.size() - 1).equals("(")) {
                        arr.remove(arr.size() - 1);
                    } else {
                        return false;
                    }
                } else if (si.equals("]")) {
                    if (arr.get(arr.size() - 1).equals("[")) {
                        arr.remove(arr.size() - 1);
                    } else {
                        return false;
                    }
                } else if (si.equals("}")) {
                    if (arr.get(arr.size() - 1).equals("{")) {
                        arr.remove(arr.size() - 1);
                    } else {
                        return false;
                    }
                }
            }
        }
        if (!arr.isEmpty()) {
            return false;
        }
        return true;
    }
}
